<?php

/**
 * @version 1.0
 * @date 2014-08-11
 * @author 十七号 <xialeistudio@gmail.com>
 * @license MIT
 * Class Regex 正则工具类（PHP > 5.2）
 */
class Regex
{
	/**
	 * 是否为电话号码
	 * @param $phone
	 * @return bool
	 */
	public static function is_phone($phone)
	{
		return preg_match('/^(\+86)?1[3-8]\d{9}$/', $phone) > 0 ? true : false;
	}

	/**
	 * 是否邮编
	 * @param $code
	 * @return bool
	 */
	public static function is_postcode($code)
	{
		return preg_match('/^\d{6}$/', $code) > 0 ? true : false;
	}

	/**
	 * 检测邮箱
	 * @param $email
	 * @return bool
	 */
	public static function is_email($email)
	{
		$token = filter_var($email, FILTER_VALIDATE_EMAIL);
		return empty($token) ? false : true;
	}

	/**
	 * 检测url
	 * @param $url
	 * @return bool
	 */
	public static function is_url($url)
	{
		$result = filter_var($url, FILTER_VALIDATE_URL);
		return empty($result) ? false : true;
	}

	/**
	 * 检测UTF-8汉字
	 * @param $str
	 * @return bool
	 */
	public static function is_chinese($str)
	{
		return preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $str) > 0 ? true : false;
	}

	/**
	 * 是否IP
	 * @param $ip
	 * @return bool
	 */
	public static function is_ip($ip)
	{
		$result = filter_var($ip, FILTER_VALIDATE_IP);
		return empty($result) ? false : true;
	}

	/**
	 * 验证用户名 第一位必须为字母
	 * @param $str
	 * @return bool
	 */
	public static function is_username($str)
	{
		return preg_match('/^[a-zA-Z]\w{5,19}$/i', $str) > 0 ? true : false;
	}
}
